Many wireless devices contain software and firmware to perform tasks on the wireless device. The firmware of a wireless device may be associated with a certain hardware device, such as a microprocessor, and may provide the structure in which software applications are executed. For example, the firmware may provide a structure for the visual interface software of the wireless device that allows the user to interact with the device. However, oftentimes firmware may become corrupted such that the wireless device may not function correctly. In these cases, the firmware image may need to be reinstalled on the wireless device. In other circumstances, it may be desirable to update the current firmware of a wireless device.
To update or reinstall a wireless device's firmware, the wireless device may receive a firmware image from a provider source. This provider source may interface with the wireless device to provide the firmware image. In many wireless devices, the provider source may provide the firmware image to the wireless device remotely, such that packets containing the firmware image may be transmitted from an updating device to the wireless device over a wireless communication channel. The wireless device may receive and store the transmitted packets in memory until all updating packets are received. Once all of the packets are received, the wireless device may install the new or updated image onto the wireless device.
Occasionally, however, packets transmitted by the updating device may be corrupted or lost in transmission before being received by the wireless device. For example, a packet sent by the updating device over a wireless channel may encounter noise on the communication channel that interferes with or corrupts the packet delivery. If the corrupted packet is combined with the other data packets of the firmware image, an invalid firmware image may be installed on the wireless device. An invalid firmware image may disable the wireless device or otherwise may prevent the device from operating correctly. Further, once a corrupted firmware image is installed on a wireless device, the device may no longer be able to correct the corrupted image remotely. Thus, the wireless device may need to be shipped to a vendor for correction.
Accordingly, what is needed is a method of remotely installing a valid firmware image of a wireless device when the device has a corrupted or invalid image. Further, the firmware image that is received from an updating device should be valid before the firmware is generated and installed on a wireless device.